News All Tests
Current file: /home/estudydev/workspace/MSP09/web/news/tests/class.folder.inc.php
Legend: executed not executed dead code

  Coverage
  Classes Methods Lines
Total
100.00 %100.00%
100.00% 1 / 1
0.00 %0.00%
0.00% 0 / 21
2.09 %2.09%
2.09% 7 / 335
 
Folder
100.00 %100.00%
100.00% 1 / 1
0.00 %0.00%
0.00% 0 / 21
0.31 %0.31%
0.31% 1 / 327
 public function __construct($fileID = 0)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 13
 public function setFolderState($folderState)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function setLayerType($layerType)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function setStudentWrite($studentWrite)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function setFolderType($folderType)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function getFolderState()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function setParentFolder($folder)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function getFiles()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 13
 public function setFiles($files)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function getSubFolders()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function loadSubFolder()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 3
 public function isActiveFolder()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getFolderCount($recursive = true)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 8
 private function isLastFolder($fileID = NULL)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 8
 public function printSubFolder($layer = '')
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 43
 public function drawFolder($layer = '', $showCount = true)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 32
 private function getUserIcons()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 68
 public function hasFilesInSubFolders()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 7
 public function showFiles($statisticView = false)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 99
 private function getFolderHTMLOption($option)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 14
 public function archiverAccept(ResourceVisitor $visitor, $parentPath = '/')
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2


       1                 : <?php                                                                                                                                                                                                                                                                                                                                                                                                     
       2                 : /*--------------------------------------------------------------------------+                                                                                                                                                                                                                                                                                                                             
       3                 : This file is part of eStudy.                                                                                                                                                                                                                                                                                                                                                                              
       4                 : ressourcen/classes/filemanager/class.folder.inc.php                                                                                                                                                                                                                                                                                                                                                       
       5                 : - Modulgruppe:  File Manager                                                                                                                                                                                                                                                                                                                                                                              
       6                 : - Beschreibung: Klasse "Folder"                                                                                                                                                                                                                                                                                                                                                                           
       7                 : - Version:      0.4, 08.01.08                                                                                                                                                                                                                                                                                                                                                                             
       8                 : - Autor(en):    Tobias Wild <tobias.wild@mni.fh-giessen.de>                                                                                                                                                                                                                                                                                                                                               
       9                 : +---------------------------------------------------------------------------+                                                                                                                                                                                                                                                                                                                             
      10                 : This program is free software; you can redistribute it and/or                                                                                                                                                                                                                                                                                                                                             
      11                 : modify it under the terms of the GNU General Public License                                                                                                                                                                                                                                                                                                                                               
      12                 : as published by the Free Software Foundation; either version 2                                                                                                                                                                                                                                                                                                                                            
      13                 : of the License, or any later version.                                                                                                                                                                                                                                                                                                                                                                     
      14                 : +---------------------------------------------------------------------------+                                                                                                                                                                                                                                                                                                                             
      15                 : This program is distributed in the hope that it will be useful,                                                                                                                                                                                                                                                                                                                                           
      16                 : but WITHOUT ANY WARRANTY; without even the implied warranty of                                                                                                                                                                                                                                                                                                                                            
      17                 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                                                                                                                                                                                                                                                                                                                             
      18                 : GNU General Public License for more details.                                                                                                                                                                                                                                                                                                                                                              
      19                 : You should have received a copy of the GNU General Public License                                                                                                                                                                                                                                                                                                                                         
      20                 : along with this program; if not, write to the Free Software                                                                                                                                                                                                                                                                                                                                               
      21                 : Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                                                                                                                                                                                                                                                                                                                               
      22                 : +--------------------------------------------------------------------------*/                                                                                                                                                                                                                                                                                                                             
      23                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      24               1 : if ( !defined("PATH_TO_ROOT") ) {                                                                                                                                                                                                                                                                                                                                                                         
      25               0 :     define( "PATH_TO_ROOT", "../../../" );                                                                                                                                                                                                                                                                                                                                                                
      26               0 : }                                                                                                                                                                                                                                                                                                                                                                                                         
      27                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      28               1 : require_once ("class.ressourcendb.inc.php");                                                                                                                                                                                                                                                                                                                                                              
      29               1 : require_once ("class.filemanger.inc.php");                                                                                                                                                                                                                                                                                                                                                                
      30               1 : require_once ("class.resource.inc.php");                                                                                                                                                                                                                                                                                                                                                                  
      31               1 : require_once ("interface.resourcevisitor.inc.php");                                                                                                                                                                                                                                                                                                                                                       
      32               1 : require_once ("class.usertools.inc.php");                                                                                                                                                                                                                                                                                                                                                                 
      33                 : //                                                                                                                                                                                                                                                                                                                                                                                                        
      34               1 : class Folder extends Resource {                                                                                                                                                                                                                                                                                                                                                                           
      35                 :     /// Klassen-Attribute                                                                                                                                                                                                                                                                                                                                                                                 
      36                 :     private $parentFolder = null;                                                                                                                                                                                                                                                                                                                                                                         
      37                 :     private $folders = array();                                                                                                                                                                                                                                                                                                                                                                           
      38                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      39                 :     private $files;                                                                                                                                                                                                                                                                                                                                                                                       
      40                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      41                 :     private static $iconTypes = array();                                                                                                                                                                                                                                                                                                                                                                  
      42                 :     private $layerType;                                                                                                                                                                                                                                                                                                                                                                                   
      43                 :     private $folderType;                                                                                                                                                                                                                                                                                                                                                                                  
      44                 :     private $folderState;                                                                                                                                                                                                                                                                                                                                                                                 
      45                 :     private $studentWrite;                                                                                                                                                                                                                                                                                                                                                                                
      46                 :     private $fileCounter = 0;                                                                                                                                                                                                                                                                                                                                                                             
      47                 :     private $linkCounter = 0;                                                                                                                                                                                                                                                                                                                                                                             
      48                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      49                 :     public function __construct( $fileID = 0 ) {                                                                                                                                                                                                                                                                                                                                                          
      50               0 :         $this->fileID = $fileID;                                                                                                                                                                                                                                                                                                                                                                          
      51                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      52               0 :         global $VISIBLE_TXT, $VISIBLE_ICONS;                                                                                                                                                                                                                                                                                                                                                              
      53                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      54               0 :         $VISIBLE_TXT = array();                                                                                                                                                                                                                                                                                                                                                                           
      55               0 :         $VISIBLE_ICONS = array();                                                                                                                                                                                                                                                                                                                                                                         
      56               0 :         $imgFolder = PATH_TO_ROOT.'ressourcen/icons/';                                                                                                                                                                                                                                                                                                                                                    
      57               0 :         $VISIBLE_TXT[1] = " f&uuml;r alle sichtbar";                                                                                                                                                                                                                                                                                                                                                      
      58               0 :         $VISIBLE_TXT[2] = " nur f&uuml;r Dozenten &amp; Tutoren sichtbar";                                                                                                                                                                                                                                                                                                                                
      59               0 :         $VISIBLE_TXT[3] = " nur f&uuml;r Dozenten sichtbar";                                                                                                                                                                                                                                                                                                                                              
      60                 :         //Icons für Sichtbarkeit von Ordnern/Links/Dateien                                                                                                                                                                                                                                                                                                                                               
      61               0 :         $VISIBLE_ICONS[1] = "<img src='".$imgFolder."edittypes/view_Student.gif' alt='visibilityAll Symbol' />";                                                                                                                                                                                                                                                                                          
      62               0 :         $VISIBLE_ICONS[2] = "<img src='".$imgFolder."edittypes/view_noStudent.gif' alt='visibilityNoStudents Symbol' />";                                                                                                                                                                                                                                                                                 
      63               0 :         $VISIBLE_ICONS[3] = "<img src='".$imgFolder."edittypes/view_Dozent.gif' alt='visibilityDocentsOnly Symbol' />";                                                                                                                                                                                                                                                                                   
      64                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      65                 :          // Foldersymbole und Struktursymbole fuer Verzeichnisbaum (CSS Klassen)                                                                                                                                                                                                                                                                                                                          
      66               0 :         if ( empty(self::$iconTypes)) self::$iconTypes = array(0 => 'ricon_rootFolder', 1 => 'ricon_folderOpen', 2 => 'ricon_folderClosed', 3 => 'ricon_join', 4 => 'ricon_joinBottom', 5 => 'ricon_line', 6 => 'ricon_minus', 7 => 'ricon_minusBottom', 8 => 'ricon_plus', 9 => 'ricon_plusBottom', 10 => 'ricon_empty', 11 => 'ricon_foyerFolder', 12 => 'ricon_mostpopular', 13 => 'ricon_mostrecent');
      67                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      68               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
      69                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      70                 :     public function setFolderState( $folderState ) {                                                                                                                                                                                                                                                                                                                                                      
      71               0 :         $this->folderState = $folderState;                                                                                                                                                                                                                                                                                                                                                                
      72               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
      73                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      74                 :     public function setLayerType( $layerType ) {                                                                                                                                                                                                                                                                                                                                                          
      75               0 :         $this->layerType = $layerType;                                                                                                                                                                                                                                                                                                                                                                    
      76               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
      77                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      78                 :     public function setStudentWrite( $studentWrite ) {                                                                                                                                                                                                                                                                                                                                                    
      79               0 :         $this->studentWrite = $studentWrite;                                                                                                                                                                                                                                                                                                                                                              
      80               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
      81                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      82                 :     public function setFolderType( $folderType ) {                                                                                                                                                                                                                                                                                                                                                        
      83               0 :         $this->folderType = $folderType;                                                                                                                                                                                                                                                                                                                                                                  
      84               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
      85                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      86                 :     public function getFolderState() {                                                                                                                                                                                                                                                                                                                                                                    
      87               0 :         return $this->folderState;                                                                                                                                                                                                                                                                                                                                                                        
      88                 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
      89                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      90                 :     public function setParentFolder( $folder ) {                                                                                                                                                                                                                                                                                                                                                          
      91               0 :         $this->parentFolder = $folder;                                                                                                                                                                                                                                                                                                                                                                    
      92               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
      93                 :                                                                                                                                                                                                                                                                                                                                                                                                           
      94                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                   
      95                 :      * Getter for files of the folder.                                                                                                                                                                                                                                                                                                                                                                    
      96                 :      *                                                                                                                                                                                                                                                                                                                                                                                                    
      97                 :      * This method loads at the first access the file list of the folder                                                                                                                                                                                                                                                                                                                                  
      98                 :      * and returns them.                                                                                                                                                                                                                                                                                                                                                                                  
      99                 :      *                                                                                                                                                                                                                                                                                                                                                                                                    
     100                 :      * @return File[] File array                                                                                                                                                                                                                                                                                                                                                                          
     101                 :      */                                                                                                                                                                                                                                                                                                                                                                                                   
     102                 :     public function getFiles() {                                                                                                                                                                                                                                                                                                                                                                          
     103               0 :         if (is_null($this->files)) {                                                                                                                                                                                                                                                                                                                                                                      
     104               0 :             global $resDB;                                                                                                                                                                                                                                                                                                                                                                                
     105                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     106               0 :             $desc = (isset($_GET['direction']) && $_GET['direction'] == 'DESC');                                                                                                                                                                                                                                                                                                                          
     107               0 :             $SQL_sort = 'create_time';                                                                                                                                                                                                                                                                                                                                                                    
     108                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     109               0 :             if ( $this->fileID > 0 ) {                                                                                                                                                                                                                                                                                                                                                                    
     110               0 :                 $this->files = $resDB->getFiles( $this->fileID, $SQL_sort, $desc );                                                                                                                                                                                                                                                                                                                       
     111               0 :             } elseif ($this->fileID == "-1") {                                                                                                                                                                                                                                                                                                                                                            
     112               0 :                 $this->files = $resDB->getMostRatedFiles();                                                                                                                                                                                                                                                                                                                                               
     113               0 :             } elseif ($this->fileID == "-2") {                                                                                                                                                                                                                                                                                                                                                            
     114               0 :                 $this->files = $resDB->getNewestFiles();                                                                                                                                                                                                                                                                                                                                                  
     115               0 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     116               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     117                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     118               0 :         return $this->files;                                                                                                                                                                                                                                                                                                                                                                              
     119                 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     120                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     121                 :     public function setFiles( $files ) {                                                                                                                                                                                                                                                                                                                                                                  
     122               0 :         $this->files = $files;                                                                                                                                                                                                                                                                                                                                                                            
     123               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     124                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     125                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                   
     126                 :      * Getter for the subfolders.                                                                                                                                                                                                                                                                                                                                                                         
     127                 :      *                                                                                                                                                                                                                                                                                                                                                                                                    
     128                 :      * Fetchs the subfolders of this folder if not present                                                                                                                                                                                                                                                                                                                                                
     129                 :      * and returns them.                                                                                                                                                                                                                                                                                                                                                                                  
     130                 :      *                                                                                                                                                                                                                                                                                                                                                                                                    
     131                 :      * @return Folder[] Folder array                                                                                                                                                                                                                                                                                                                                                                      
     132                 :      */                                                                                                                                                                                                                                                                                                                                                                                                   
     133                 :     public function getSubFolders() {                                                                                                                                                                                                                                                                                                                                                                     
     134               0 :         $this->loadSubFolder();                                                                                                                                                                                                                                                                                                                                                                           
     135                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     136               0 :         return $this->folders;                                                                                                                                                                                                                                                                                                                                                                            
     137                 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     138                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     139                 :     public function loadSubFolder() {                                                                                                                                                                                                                                                                                                                                                                     
     140               0 :         global $resDB;                                                                                                                                                                                                                                                                                                                                                                                    
     141               0 :         if (empty($this->folders)) $this->folders = $resDB->getSubFolder( $this );                                                                                                                                                                                                                                                                                                                        
     142               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     143                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     144                 :     public function isActiveFolder() {                                                                                                                                                                                                                                                                                                                                                                    
     145               0 :         return (!is_null($this->fileManager) && $this->fileManager->getActiveFolder() == $this->fileID );                                                                                                                                                                                                                                                                                                 
     146                 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     147                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     148                 :     public function getFolderCount( $recursive = true ) {                                                                                                                                                                                                                                                                                                                                                 
     149               0 :         $this->loadSubFolder();                                                                                                                                                                                                                                                                                                                                                                           
     150               0 :         $count = count($this->folders);                                                                                                                                                                                                                                                                                                                                                                   
     151               0 :         if ( $recursive ) {                                                                                                                                                                                                                                                                                                                                                                               
     152               0 :             foreach ( $this->folders as $folder ) {                                                                                                                                                                                                                                                                                                                                                       
     153               0 :                 $count += $folder->getFolderCount(true);                                                                                                                                                                                                                                                                                                                                                  
     154               0 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     155               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     156               0 :         return $count;                                                                                                                                                                                                                                                                                                                                                                                    
     157                 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     158                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     159                 :     private function isLastFolder( $fileID = null ) {                                                                                                                                                                                                                                                                                                                                                     
     160               0 :         if (is_null( $fileID ) ) {                                                                                                                                                                                                                                                                                                                                                                        
     161               0 :             if (is_a( $this->parentFolder, "Folder")) {                                                                                                                                                                                                                                                                                                                                                   
     162               0 :                  return $this->parentFolder->isLastFolder( $this->fileID );                                                                                                                                                                                                                                                                                                                               
     163                 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     164               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                          
     165               0 :             $lastFolder = end($this->folders);                                                                                                                                                                                                                                                                                                                                                            
     166               0 :             if ( is_a( $lastFolder, "Folder" )) {                                                                                                                                                                                                                                                                                                                                                         
     167               0 :                 return ( $lastFolder->getID() == $fileID );                                                                                                                                                                                                                                                                                                                                               
     168                 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     169                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     170               0 :         return false;                                                                                                                                                                                                                                                                                                                                                                                     
     171                 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     172                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     173                 :     public function printSubFolder( $layer = '' ) {                                                                                                                                                                                                                                                                                                                                                       
     174               0 :         global $db;                                                                                                                                                                                                                                                                                                                                                                                       
     175               0 :         $this->loadSubFolder();                                                                                                                                                                                                                                                                                                                                                                           
     176               0 :         $lineLayer = $layer."<img src='".PATH_TO_ROOT."images/transparent.gif' alt='lineLayer' class='".self::$iconTypes[5]."'/>";                                                                                                                                                                                                                                                                        
     177               0 :         $emptyLayer = $layer."<img src='".PATH_TO_ROOT."images/transparent.gif' alt='emptyLayer' class='".self::$iconTypes[10]."'/>";                                                                                                                                                                                                                                                                     
     178               0 :         $newLayer = $lineLayer;                                                                                                                                                                                                                                                                                                                                                                           
     179               0 :         $lastFolder = $this->isLastFolder();                                                                                                                                                                                                                                                                                                                                                              
     180               0 :         if ($lastFolder) {                                                                                                                                                                                                                                                                                                                                                                                
     181               0 :             $newLayer = $emptyLayer;                                                                                                                                                                                                                                                                                                                                                                      
     182               0 :             $plus = 9;                                                                                                                                                                                                                                                                                                                                                                                    
     183               0 :             $minus = 7;                                                                                                                                                                                                                                                                                                                                                                                   
     184               0 :             $join = 4;                                                                                                                                                                                                                                                                                                                                                                                    
     185               0 :             $bottom = true;                                                                                                                                                                                                                                                                                                                                                                               
     186               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                          
     187               0 :             $plus = 8;                                                                                                                                                                                                                                                                                                                                                                                    
     188               0 :             $minus = 6;                                                                                                                                                                                                                                                                                                                                                                                   
     189               0 :             $join = 3;                                                                                                                                                                                                                                                                                                                                                                                    
     190               0 :             $bottom = false;                                                                                                                                                                                                                                                                                                                                                                              
     191                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     192               0 :         if ( is_null( $this->parentFolder ) ) {                                                                                                                                                                                                                                                                                                                                                           
     193               0 :             $newLayer = "";                                                                                                                                                                                                                                                                                                                                                                               
     194               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     195               0 :         $gesamtReturn = "";                                                                                                                                                                                                                                                                                                                                                                               
     196               0 :         $subReturn = "";                                                                                                                                                                                                                                                                                                                                                                                  
     197                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     198               0 :         foreach($this->folders as $key => $subFolder) {                                                                                                                                                                                                                                                                                                                                                   
     199               0 :             $subReturn .= $subFolder->printSubFolder( $newLayer );                                                                                                                                                                                                                                                                                                                                        
     200               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     201                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     202               0 :         if ( !is_null($this->parentFolder) ) {                                                                                                                                                                                                                                                                                                                                                            
     203               0 :             if ( $this->fileManager->getAction() == 'foldOut' && $this->fileManager->getActionID() == $this->fileID ) {                                                                                                                                                                                                                                                                                   
     204               0 :                    RessourcenDB::saveFolderState( $this );                                                                                                                                                                                                                                                                                                                                                
     205               0 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     206               0 :             if ($this->folderState) {                                                                                                                                                                                                                                                                                                                                                                     
     207               0 :                 $this->layerType = $minus;                                                                                                                                                                                                                                                                                                                                                                
     208               0 :                 if (!$subReturn) $this->layerType = $join;                                                                                                                                                                                                                                                                                                                                                
     209               0 :             } else {                                                                                                                                                                                                                                                                                                                                                                                      
     210               0 :                 $this->layerType = $plus;                                                                                                                                                                                                                                                                                                                                                                 
     211               0 :                 if (!$subReturn) $this->layerType = $join;                                                                                                                                                                                                                                                                                                                                                
     212               0 :                 $subReturn = false;                                                                                                                                                                                                                                                                                                                                                                       
     213                 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     214                 :             // Unterschiedliche Ordnersymbole fuer Foyerordner und Kursordner                                                                                                                                                                                                                                                                                                                             
     215               0 :             $this->folderType = 1;                                                                                                                                                                                                                                                                                                                                                                        
     216               0 :             if ($this->courseID == 0) $this->folderType = 11;                                                                                                                                                                                                                                                                                                                                             
     217               0 :             else if ( $this->parentFolder->getID() == 0 ) $this->folderType = 0;                                                                                                                                                                                                                                                                                                                          
     218               0 :             $gesamtReturn.= $this->drawFolder($layer) .$subReturn;                                                                                                                                                                                                                                                                                                                                        
     219               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                          
     220               0 :             $gesamtReturn = $subReturn;                                                                                                                                                                                                                                                                                                                                                                   
     221                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     222                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     223               0 :         return $gesamtReturn;                                                                                                                                                                                                                                                                                                                                                                             
     224                 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     225                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     226                 :     public function drawFolder($layer = '', $showCount = true) {                                                                                                                                                                                                                                                                                                                                          
     227               0 :            $fileID = $this->fileID;                                                                                                                                                                                                                                                                                                                                                                       
     228               0 :            $folderType = $this->folderType;                                                                                                                                                                                                                                                                                                                                                               
     229               0 :            $layerType = $this->layerType;                                                                                                                                                                                                                                                                                                                                                                 
     230               0 :            $folderLink = Data::toHTML($this->link, false);                                                                                                                                                                                                                                                                                                                                                
     231                 :            // Zaehlt die enthaltenen Elemente                                                                                                                                                                                                                                                                                                                                                             
     232                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     233               0 :         global $resDB;                                                                                                                                                                                                                                                                                                                                                                                    
     234               0 :         if ( $showCount ) {                                                                                                                                                                                                                                                                                                                                                                               
     235               0 :             if ($this->folderState) {                                                                                                                                                                                                                                                                                                                                                                     
     236               0 :                 $subCount = $resDB->countSubElements( $fileID, false );                                                                                                                                                                                                                                                                                                                                   
     237               0 :             } else {                                                                                                                                                                                                                                                                                                                                                                                      
     238               0 :                 $subCount = $resDB->countSubElements( $fileID, true );                                                                                                                                                                                                                                                                                                                                    
     239                 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     240               0 :             $folderLink .= " (".$subCount.")";                                                                                                                                                                                                                                                                                                                                                            
     241               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     242               0 :         $folderName = Data::toHTML($this->name, false);                                                                                                                                                                                                                                                                                                                                                   
     243                 :         // Es wird ein geoeffneter Ordner angezeigt, wenn kein foyer, root oder mostratet Ordner                                                                                                                                                                                                                                                                                                          
     244               0 :         if ($this->isActiveFolder() && $folderType != 0 && $folderType < 11) {                                                                                                                                                                                                                                                                                                                            
     245               0 :             $folderType = 1;                                                                                                                                                                                                                                                                                                                                                                              
     246               0 :         } elseif ($folderType != 0 && $folderType < 11) {                                                                                                                                                                                                                                                                                                                                                 
     247               0 :             $folderType = 2;                                                                                                                                                                                                                                                                                                                                                                              
     248               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     249               0 :         $HTML_LAYER = $layer;                                                                                                                                                                                                                                                                                                                                                                             
     250               0 :         $HTML_LAYER_LINK_BEGIN = "<a href='".self::createLink(1, array('action' => 'foldOut', 'actionID' => $fileID)) ."'>";                                                                                                                                                                                                                                                                              
     251               0 :         $HTML_LAYER_IMAGE = "<img src='".PATH_TO_ROOT."images/transparent.gif' alt='layerImage' class='".self::$iconTypes[$layerType]."' />";                                                                                                                                                                                                                                                             
     252               0 :         $HTML_LAYER_LINK_END = "</a>";                                                                                                                                                                                                                                                                                                                                                                    
     253               0 :         $HTML_FOLDER_LINK_BEGIN = "<a class='folder' href='".self::createLink(1, array('activeFolder' => $fileID, 'action' => '', 'actionID' => '', 'mode' => '')) ."' title=\"".$folderName."\">";                                                                                                                                                                                                       
     254               0 :         $HTML_FOLDER_IMAGE = "<img src='".PATH_TO_ROOT."images/transparent.gif' alt='Verzeichnis-Symbol' class='".self::$iconTypes[$folderType]."' />".$folderLink;                                                                                                                                                                                                                                       
     255               0 :         $HTML_FOLDER_LINK_END = "</a>";                                                                                                                                                                                                                                                                                                                                                                   
     256                 :         // Wenn Aktiver Ordner HinterGrundFarbe aendern                                                                                                                                                                                                                                                                                                                                                   
     257               0 :         $FOLDER_CLASS = ($this->isActiveFolder() ? "res_folderselect" : "res_folder");                                                                                                                                                                                                                                                                                                                    
     258                 :         // Wenn kein plus oder minus angezeigt wird soll auch kein Link gesetzt werden                                                                                                                                                                                                                                                                                                                    
     259               0 :       if ($layerType == 3 || $layerType == 4) {                                                                                                                                                                                                                                                                                                                                                           
     260               0 :             $HTML_LAYER_LINK_BEGIN = "";                                                                                                                                                                                                                                                                                                                                                                  
     261               0 :             $HTML_LAYER_LINK_END = "";                                                                                                                                                                                                                                                                                                                                                                    
     262               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     263               0 :         $return = "<div class='".$FOLDER_CLASS." nobr'>".$HTML_LAYER.$HTML_LAYER_LINK_BEGIN.$HTML_LAYER_IMAGE.$HTML_LAYER_LINK_END.$HTML_FOLDER_LINK_BEGIN.$HTML_FOLDER_IMAGE.$HTML_FOLDER_LINK_END."</div>";                                                                                                                                                                                             
     264               0 :         return $return;                                                                                                                                                                                                                                                                                                                                                                                   
     265                 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     266                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     267                 :     private function getUserIcons() {                                                                                                                                                                                                                                                                                                                                                                     
     268               0 :         $action = isset($_GET['action']) ? $_GET['action'] : '';                                                                                                                                                                                                                                                                                                                                          
     269               0 :         $actionID = isset($_GET['actionID']) ? $_GET['actionID'] : '';                                                                                                                                                                                                                                                                                                                                    
     270               0 :         $course = $_SESSION['course'];                                                                                                                                                                                                                                                                                                                                                                    
     271               0 :         $activeFolder = $_GET['activeFolder'];                                                                                                                                                                                                                                                                                                                                                            
     272               0 :         global $db, $VISIBLE_TXT, $VISIBLE_ICONS, $settings;                                                                                                                                                                                                                                                                                                                                              
     273               0 :         $imgFolder = $this->fileManager->getImgFolder();                                                                                                                                                                                                                                                                                                                                                  
     274               0 :         $folderUserID = $this->userID;                                                                                                                                                                                                                                                                                                                                                                    
     275               0 :         $folderWrite = $this->studentWrite;                                                                                                                                                                                                                                                                                                                                                               
     276                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     277                 :         // Definition der Bilder zum Bearbeiten des Ordners                                                                                                                                                                                                                                                                                                                                               
     278               0 :         if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                                                                                                                                                                                                                                                                                                          
     279               0 :             $EDITFOLDER = "<img title='Ordnereigenschaften editieren' src='".$imgFolder."edittypes/lock_edit.gif' alt='lock edit Symbol'/>";                                                                                                                                                                                                                                                              
     280               0 :         else $EDITFOLDER = "<img title='Ordnereigenschaften editieren' src='".PATH_TO_ROOT."images/transparent.gif' class='icon_lock_edit' alt='lock edit Symbol'/>";                                                                                                                                                                                                                                     
     281               0 :         if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                                                                                                                                                                                                                                                                                                          
     282               0 :             $DELETEFOLDER = "<img title='Ordner inklusive Dateien l&ouml;schen' src='".$imgFolder."edittypes/lock_delete.gif' alt='lock delete Symbol' />";                                                                                                                                                                                                                                               
     283               0 :         else $DELETEFOLDER = "<img title='Ordner inklusive Dateien l&ouml;schen' src='".PATH_TO_ROOT."images/transparent.gif' class='icon_lock_delete' alt='lock delete Symbol' />";                                                                                                                                                                                                                      
     284                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     285               0 :         if ($settings['filemanager_recursive']) {                                                                                                                                                                                                                                                                                                                                                         
     286               0 :                $RECURSIVEDOWNLOADFOLDER = "<img title='Ordner als recursives Archiv herunterladen ' src='".$imgFolder."edittypes/lock_recursive_archive_download.gif' alt='lock recursive download Symbol' />";                                                                                                                                                                                           
     287               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                          
     288               0 :             $RECURSIVEDOWNLOADFOLDER = "";                                                                                                                                                                                                                                                                                                                                                                
     289                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     290                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     291               0 :            $DOWNLOADFOLDER = "<img title='Ordner als Archiv herunterladen ' src='".$imgFolder."edittypes/lock_archive_download.gif' alt='lock download Symbol' />";                                                                                                                                                                                                                                       
     292                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     293               0 :            $FOLDERVISIBLE = "";                                                                                                                                                                                                                                                                                                                                                                           
     294                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     295               0 :         if (($_SESSION['usergroup'] == ADMIN || ($_SESSION["usergroup"] == DOZENT && $_SESSION["course"] > 0) || (isset($folderUserID) && $_SESSION['userid'] == $folderUserID)) && $activeFolder > 0) {                                                                                                                                                                                                  
     296               0 :             if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                                                                                                                                                                                                                                                                                                      
     297               0 :                 $EDITFOLDER = "<a title='Ordnereigenschaften ver&auml;ndern' href='./edit.php?editID=".$activeFolder."'><img src='".$imgFolder."edittypes/edit.gif' alt='Bearbeiten' /></a>";                                                                                                                                                                                                             
     298               0 :             else $EDITFOLDER = "<a title='Ordnereigenschaften ver&auml;ndern' href='./edit.php?editID=".$activeFolder."'><img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_edit_folder' alt='Bearbeiten' /></a>";                                                                                                                                                                             
     299               0 :             if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                                                                                                                                                                                                                                                                                                      
     300               0 :                 $DELETEFOLDER = "<a title='Ordner l&ouml;schen' href='".$this->createLink(1, array("action" => "deleteFolder", "actionID" => $activeFolder)) ."'><img src='".$imgFolder."edittypes/delete.gif'  alt='L&ouml;schen' /></a>";                                                                                                                                                               
     301               0 :             else $DELETEFOLDER = "<a title='Ordner l&ouml;schen' href='".$this->createLink(1, array("action" => "deleteFolder", "actionID" => $activeFolder)) ."'><img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_delete_folder'  alt='L&ouml;schen' /></a>";                                                                                                                               
     302                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     303                 :             //Sichtbarkeitsanzeige für aktuellen Ordner setzen                                                                                                                                                                                                                                                                                                                                           
     304               0 :             $visibleIcon = "";                                                                                                                                                                                                                                                                                                                                                                            
     305                 :             //beim Laden der Seite                                                                                                                                                                                                                                                                                                                                                                        
     306               0 :             if (isset($this->visibleType) && $this->visibleType >= 1 && $this->visibleType <= 3) {                                                                                                                                                                                                                                                                                                        
     307               0 :                 $visibleIcon = $VISIBLE_ICONS[$this->visibleType];                                                                                                                                                                                                                                                                                                                                        
     308               0 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     309               0 :             $FOLDERVISIBLE = "<a title='Sichtbarkeit dieses Ordners &auml;ndern' href='".$this->createLink(0, array('activeFolder' => $activeFolder, 'action' => "setFolderVisibility", "actionID" => $activeFolder)) ."'>".$visibleIcon."</a>";                                                                                                                                                          
     310               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     311               0 :         if (($_SESSION['usergroup'] == ADMIN || ($_SESSION["usergroup"] == DOZENT && $_SESSION["course"] > 0)) && $activeFolder > 0) {                                                                                                                                                                                                                                                                    
     312               0 :             if (($folderWrite && !($action == "studentWriteFolder" && $actionID == $activeFolder)) || (!$folderWrite && $action == "studentWriteFolder" && $actionID == $activeFolder)) {                                                                                                                                                                                                                 
     313               0 :                 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                                                                                                                                                                                                                                                                                                  
     314               0 :                     $STUDENTWRITEFOLDER = "<a title='Studenten Schreibrechte entziehen' href='".$this->createLink(1, array("action" => "studentWriteFolder", "actionID" => $activeFolder)) ."'><img src='".$imgFolder."edittypes/student_write.gif' alt='Studenten Schreibrechte entziehen' /></a>";                                                                                                      
     315               0 :                 else $STUDENTWRITEFOLDER = "<a title='Studenten Schreibrechte entziehen' href='".$this->createLink(1, array("action" => "studentWriteFolder", "actionID" => $activeFolder)) ."'><img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_remove_student_write' alt='Studenten Schreibrechte entziehen' /></a>";                                                                      
     316               0 :             } else {                                                                                                                                                                                                                                                                                                                                                                                      
     317               0 :                 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                                                                                                                                                                                                                                                                                                  
     318               0 :                     $STUDENTWRITEFOLDER = "<a title='Studenten Schreibrechte geben' href='".$this->createLink(1, array("action" => "studentWriteFolder", "actionID" => $activeFolder)) ."'><img src='".$imgFolder."edittypes/lock_student_write.gif' alt='Studenten Schreibrechte geben' /></a>";                                                                                                         
     319               0 :                 else $STUDENTWRITEFOLDER = "<a title='Studenten Schreibrechte geben' href='".$this->createLink(1, array("action" => "studentWriteFolder", "actionID" => $activeFolder)) ."'><img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_give_student_write' alt='Studenten Schreibrechte geben' /></a>";                                                                                
     320                 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     321               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                          
     322               0 :             if (isset($folderWrite) && $folderWrite) {                                                                                                                                                                                                                                                                                                                                                    
     323               0 :                 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                                                                                                                                                                                                                                                                                                  
     324               0 :                     $STUDENTWRITEFOLDER = "<img src='".$imgFolder."edittypes/student_write.gif' title='Studenten haben Schreibrechte' alt='Studenten haben Schreibrechte' />";                                                                                                                                                                                                                            
     325               0 :                 else $STUDENTWRITEFOLDER = "<img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_student_write' title='Studenten haben Schreibrechte' alt='Studenten haben Schreibrechte' />";                                                                                                                                                                                                   
     326               0 :             } else {                                                                                                                                                                                                                                                                                                                                                                                      
     327               0 :                 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                                                                                                                                                                                                                                                                                                  
     328               0 :                     $STUDENTWRITEFOLDER = "<img src='".$imgFolder."edittypes/lock_student_write.gif' title='Studenten haben keine Schreibrechte' alt='Studenten haben keine Schreibrechte' />";                                                                                                                                                                                                           
     329               0 :                 else $STUDENTWRITEFOLDER = "<img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_lock_student_write' title='Studenten haben keine Schreibrechte' alt='Studenten haben keine Schreibrechte' />";                                                                                                                                                                                  
     330                 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     331                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     332                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     333               0 :         if (ZipProvider::checkArchiveSize($this, false) <=                                                                                                                                                                                                                                                                                                                                                
     334               0 :             $settings['filemanager_archive_max_filesize']*1024*1024) {                                                                                                                                                                                                                                                                                                                                    
     335                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     336               0 :             if (($this->fileCounter + $this->linkCounter) > 0) {                                                                                                                                                                                                                                                                                                                                          
     337               0 :                   $DOWNLOADFOLDER = "<a title='Ordner als Archiv herunterladen' href='".$this->createLink(1, array("action" => "downloadFolder", "actionID" => $activeFolder)) ."'><img src='".$imgFolder."edittypes/archive_download.gif' alt='Herunterladen' /></a>";                                                                                                                                   
     338               0 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     339               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                          
     340               0 :                    $DOWNLOADFOLDER = "<img title='Maximale Dateigröße überschritten' src='".$imgFolder."edittypes/lock_archive_download.gif' alt='lock download Symbol' />";                                                                                                                                                                                                                           
     341                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     342                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     343               0 :         if ($settings['filemanager_recursive'] == true) {                                                                                                                                                                                                                                                                                                                                                 
     344                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     345               0 :             if (ZipProvider::checkArchiveSize($this, true) <=                                                                                                                                                                                                                                                                                                                                             
     346               0 :                 $settings['filemanager_archive_max_filesize']*1024*1024) {                                                                                                                                                                                                                                                                                                                                
     347               0 :                 if ((($this->fileCounter + $this->linkCounter) > 0) || $this->hasFilesInSubFolders()) {                                                                                                                                                                                                                                                                                                   
     348               0 :                     $RECURSIVEDOWNLOADFOLDER = "<a title='Ordner als recursives Archiv herunterladen' href='".$this->createLink(1, array("action" => "recursiveDownloadFolder", "actionID" => $activeFolder)) ."'><img src='".$imgFolder."edittypes/recursive_archive_download.gif' alt='Recursiv Herunterladen' /></a>";                                                                                 
     349               0 :                 }                                                                                                                                                                                                                                                                                                                                                                                         
     350               0 :             } else {                                                                                                                                                                                                                                                                                                                                                                                      
     351               0 :                 $RECURSIVEDOWNLOADFOLDER = "<img title='Maximale Dateigröße überschritten' src='".$imgFolder."edittypes/lock_recursive_archive_download.gif' alt='lock recursive download Symbol' />";                                                                                                                                                                                                 
     352                 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     353               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     354                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     355               0 :         return $DOWNLOADFOLDER . $RECURSIVEDOWNLOADFOLDER . $EDITFOLDER . $FOLDERVISIBLE . $STUDENTWRITEFOLDER . $DELETEFOLDER;                                                                                                                                                                                                                                                                           
     356                 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     357                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     358                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                   
     359                 :      * Test which subfolders exists and containing files.                                                                                                                                                                                                                                                                                                                                                 
     360                 :      *                                                                                                                                                                                                                                                                                                                                                                                                    
     361                 :      * @return Boolean Subfolders which are not empty                                                                                                                                                                                                                                                                                                                                                     
     362                 :      */                                                                                                                                                                                                                                                                                                                                                                                                   
     363                 :     public function hasFilesInSubFolders() {                                                                                                                                                                                                                                                                                                                                                              
     364               0 :         $folders = $this->getSubFolders();                                                                                                                                                                                                                                                                                                                                                                
     365                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     366               0 :         foreach ($folders as $folder) {                                                                                                                                                                                                                                                                                                                                                                   
     367               0 :             if ((count($folder->getFiles()) > 0) ||                                                                                                                                                                                                                                                                                                                                                       
     368               0 :                 $folder->hasFilesInSubFolders()) {                                                                                                                                                                                                                                                                                                                                                        
     369               0 :                 return TRUE;                                                                                                                                                                                                                                                                                                                                                                              
     370                 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     371               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     372               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     373                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     374                 :         /**                                                                                                                                                                                                                                                                                                                                                                                               
     375                 :      * Generiert die Filelist, und gibt sie aus                                                                                                                                                                                                                                                                                                                                                           
     376                 :      *                                                                                                                                                                                                                                                                                                                                                                                                    
     377                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                     
     378                 :      */                                                                                                                                                                                                                                                                                                                                                                                                   
     379                 :     function showFiles( $statisticView = false ) {                                                                                                                                                                                                                                                                                                                                                        
     380               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                            
     381                 :         // INIT                                                                                                                                                                                                                                                                                                                                                                                           
     382                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     383               0 :         $templateFileList = ( $statisticView ) ?                                                                                                                                                                                                                                                                                                                                                          
     384               0 :             new Template( PATH_TO_ROOT . "/ressourcen/templates/filelist_statistic.html" )                                                                                                                                                                                                                                                                                                                
     385               0 :             : new Template( PATH_TO_ROOT . "/ressourcen/templates/filelist.html" );                                                                                                                                                                                                                                                                                                                       
     386               0 :         global $VISIBLE_TXT;                                                                                                                                                                                                                                                                                                                                                                              
     387               0 :         $time = time();                                                                                                                                                                                                                                                                                                                                                                                   
     388               0 :         $action = isset($_GET['action']) ? $_GET['action'] : '';                                                                                                                                                                                                                                                                                                                                          
     389               0 :         $actionID = isset($_GET['actionID']) ? $_GET['actionID'] : '';                                                                                                                                                                                                                                                                                                                                    
     390               0 :         $course = $_SESSION['course'];                                                                                                                                                                                                                                                                                                                                                                    
     391               0 :         $activeFolder = $_GET['activeFolder'];                                                                                                                                                                                                                                                                                                                                                            
     392               0 :         $imgFolder = $this->fileManager->getImgFolder();                                                                                                                                                                                                                                                                                                                                                  
     393               0 :         $CELL1 = $CELL = 'tableCellDark'; // AnfangsKlasse fuer Tabellenzeile, wechselt                                                                                                                                                                                                                                                                                                                   
     394               0 :         $CELL2 = 'tableCell';                                                                                                                                                                                                                                                                                                                                                                             
     395               0 :         $COLS = 6; // Anzahl der Spalten fuer Colspan                                                                                                                                                                                                                                                                                                                                                     
     396                 :         // SichtbarkeitsTexte                                                                                                                                                                                                                                                                                                                                                                             
     397               0 :         $VISIBLE = "";                                                                                                                                                                                                                                                                                                                                                                                    
     398                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     399                 :         //$sql_add = $this->getVisibilityConstraintSQL();                                                                                                                                                                                                                                                                                                                                                 
     400               0 :         $topOrdner = Data::toHTML($this->link, false);                                                                                                                                                                                                                                                                                                                                                    
     401               0 :         if ($activeFolder > 0) {                                                                                                                                                                                                                                                                                                                                                                          
     402               0 :             $folderUserID = $this->userID;                                                                                                                                                                                                                                                                                                                                                                
     403               0 :             $user = $db->get_row("SELECT Vorname, Nachname, gender FROM user WHERE ID='$folderUserID'");                                                                                                                                                                                                                                                                                                  
     404               0 :             $folderVisible = $this->visibleType;                                                                                                                                                                                                                                                                                                                                                          
     405               0 :             $folderCreate = Output::echoDate("d.m.Y H:i", (int)$this->createTime);                                                                                                                                                                                                                                                                                                                        
     406               0 :             $folderUser = "";                                                                                                                                                                                                                                                                                                                                                                             
     407               0 :             if ($user != null) {                                                                                                                                                                                                                                                                                                                                                                          
     408               0 :                 $courseID = $_SESSION["course"];                                                                                                                                                                                                                                                                                                                                                          
     409               0 :                 $groupName = UserTools::getUserGroupName($folderUserID, $courseID);                                                                                                                                                                                                                                                                                                                       
     410               0 :                 $userName = $user->Vorname." ".$user->Nachname . " ($groupName)";                                                                                                                                                                                                                                                                                                                         
     411               0 :                 $folderUser = "<a href='".PATH_TO_ROOT."user/homepage.php?user=$folderUserID'>".Data::toHTML($userName, false) ."</a>";                                                                                                                                                                                                                                                                   
     412               0 :                 if ($role = RoleArtefacts::getRoleForItem(RESSOURCE, (int)$activeFolder)) {                                                                                                                                                                                                                                                                                                               
     413               0 :                     $folderUser.= " (".$role->getPropertiesLink($role->getName($user->gender)) .")";                                                                                                                                                                                                                                                                                                      
     414               0 :                 }                                                                                                                                                                                                                                                                                                                                                                                         
     415               0 :                 if ($team = TeamArtefacts::getTeamForItem(RESSOURCE, (int)$activeFolder)) {                                                                                                                                                                                                                                                                                                               
     416               0 :                     $folderUser.= " (".Data::toHTML($team->getName(), false) .")";                                                                                                                                                                                                                                                                                                                        
     417               0 :                 }                                                                                                                                                                                                                                                                                                                                                                                         
     418               0 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     419               0 :             $folderWrite = $this->studentWrite;                                                                                                                                                                                                                                                                                                                                                           
     420               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     421                 :         //echo "<table width='100%' class='res_file-list' cellpadding='0' cellspacing='0'>";                                                                                                                                                                                                                                                                                                              
     422               0 :         $desc = (isset($_GET['direction']) && $_GET['direction'] == 'DESC');                                                                                                                                                                                                                                                                                                                              
     423               0 :         $SQL_sort = 'create_time';                                                                                                                                                                                                                                                                                                                                                                        
     424               0 :         if ($action == 'sort' && in_array($actionID, array("name", "size", "create_time", "userID", "counter"))) {                                                                                                                                                                                                                                                                                        
     425               0 :             $SQL_sort = $actionID;                                                                                                                                                                                                                                                                                                                                                                        
     426               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     427               0 :         global $resDB;                                                                                                                                                                                                                                                                                                                                                                                    
     428               0 :         if ( $activeFolder > 0 ) {                                                                                                                                                                                                                                                                                                                                                                        
     429               0 :             $this->files = $resDB->getFiles( $activeFolder, $SQL_sort, $desc );                                                                                                                                                                                                                                                                                                                           
     430               0 :         } elseif ($activeFolder == "-1") {                                                                                                                                                                                                                                                                                                                                                                
     431               0 :             $this->files = $resDB->getMostRatedFiles();                                                                                                                                                                                                                                                                                                                                                   
     432               0 :         } elseif ($activeFolder == "-2") {                                                                                                                                                                                                                                                                                                                                                                
     433               0 :             $this->files = $resDB->getNewestFiles();                                                                                                                                                                                                                                                                                                                                                      
     434               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     435                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     436                 :         // Fuer OrdnerDownload werden Richtige Files gebraucht                                                                                                                                                                                                                                                                                                                                            
     437               0 :         $linkCounter = $fileCounter = $sizeCounter = 0;                                                                                                                                                                                                                                                                                                                                                   
     438               0 :         foreach($this->files as $file) {                                                                                                                                                                                                                                                                                                                                                                  
     439               0 :             if ( $file->isFileVisible() ) {                                                                                                                                                                                                                                                                                                                                                               
     440               0 :                 if ($file->getType() == 'link') $linkCounter++;                                                                                                                                                                                                                                                                                                                                           
     441               0 :                 elseif ($file->getType() == 'file') $fileCounter++;                                                                                                                                                                                                                                                                                                                                       
     442               0 :                 $sizeCounter = $sizeCounter+$file->getSize();                                                                                                                                                                                                                                                                                                                                             
     443               0 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     444               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     445               0 :         $sizeCounter = Format::FilesizeStr($sizeCounter);                                                                                                                                                                                                                                                                                                                                                 
     446               0 :         $this->fileCounter = $fileCounter;                                                                                                                                                                                                                                                                                                                                                                
     447               0 :         $this->linkCounter = $linkCounter;                                                                                                                                                                                                                                                                                                                                                                
     448                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     449               0 :         if (isset($this->visibleType) && $this->visibleType >= 1 && $this->visibleType <= 3) {                                                                                                                                                                                                                                                                                                            
     450               0 :             $VISIBLE = $VISIBLE_TXT[$this->visibleType];                                                                                                                                                                                                                                                                                                                                                  
     451               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     452               0 :         $folderIcons = ( !$statisticView ) ? $this->getUserIcons() : "";                                                                                                                                                                                                                                                                                                                                  
     453                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     454                 :         // Blaue Ueberschrift                                                                                                                                                                                                                                                                                                                                                                             
     455               0 :         $FOLDERINFO = ($fileCounter+$linkCounter) ." Element".(($fileCounter+$linkCounter) != 1 ? "e" : "") .", Ordner ".$VISIBLE;                                                                                                                                                                                                                                                                        
     456                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     457               0 :         if ($activeFolder > 0 && strlen($folderUser) > 0) {                                                                                                                                                                                                                                                                                                                                               
     458               0 :             $SUBHEADER =  "<div><small>Erstellt von $folderUser am $folderCreate - $linkCounter Link".($linkCounter == 1 ? "" : "s") .", $fileCounter Datei".($fileCounter == 1 ? "" : "en") .", $sizeCounter total.</small><br/><br/></div>";                                                                                                                                                            
     459               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                          
     460               0 :             $SUBHEADER =  "<div><br/><br/></div>";                                                                                                                                                                                                                                                                                                                                                        
     461                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     462               0 :         if ( $this->fileID == $this->fileManager->getActionID() ) $SUBHEADER .= $this->getFolderHTMLOption( $action );                                                                                                                                                                                                                                                                                    
     463                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     464               0 :         if ($action != "sort") $this->fileManager->runAction($activeFolder, $COLS);                                                                                                                                                                                                                                                                                                                       
     465                 :         //Abfrage: wenn Folder nicht für aktuellen User sichtbar, dann continue                                                                                                                                                                                                                                                                                                                          
     466                 :         // Auswertungsmethode wird fuer OrdnerOptionen aufgerufen.                                                                                                                                                                                                                                                                                                                                        
     467                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     468               0 :         $tableTitles = array( "resource" =>  "Ressource",                                                                                                                                                                                                                                                                                                                                                 
     469               0 :                               "action"   =>  "Aktion",                                                                                                                                                                                                                                                                                                                                                    
     470               0 :                               "size"     =>  "Gr&ouml;&szlig;e",                                                                                                                                                                                                                                                                                                                                          
     471               0 :                               "created"  =>  "Erstellt",                                                                                                                                                                                                                                                                                                                                                  
     472               0 :                               "owner"    =>  "Besitzer",                                                                                                                                                                                                                                                                                                                                                  
     473               0 :                               "clicks"   =>  "Klicks" );                                                                                                                                                                                                                                                                                                                                                  
     474               0 :         if ($activeFolder < 0) {                                                                                                                                                                                                                                                                                                                                                                          
     475                 :             // Gibt die TitelZeile mit den Spalten Ueberschriften aus Ohne Sortierung fuer die TOP20 oder Neuesten 20                                                                                                                                                                                                                                                                                     
     476               0 :             $tableHead = $tableTitles;                                                                                                                                                                                                                                                                                                                                                                    
     477               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                          
     478               0 :             $newDirection = ($desc ? "ASC" : "DESC");                                                                                                                                                                                                                                                                                                                                                     
     479                 :             // Gibt die TitelZeile mit den Spalten Ueberschriften aus mit SOrtiermoeglichkeit                                                                                                                                                                                                                                                                                                             
     480               0 :             $tableHead["resource"] = "<a href='".$this->createLink(1, array('action' => 'sort', 'actionID' => 'name', 'direction' => $newDirection)) ."'>".$tableTitles["resource"]."</a>";                                                                                                                                                                                                               
     481               0 :             $tableHead["action"] = $tableTitles["action"];                                                                                                                                                                                                                                                                                                                                                
     482               0 :             $tableHead["size"] = "<a href='".$this->createLink(1, array('action' => "sort", 'actionID' => "size", 'direction' => $newDirection)) ."'>".$tableTitles["size"]."</a>";                                                                                                                                                                                                                       
     483               0 :             $tableHead["created"] = "<a href='".$this->createLink(1, array('action' => "sort", 'actionID' => "create_time", 'direction' => $newDirection)) ."'>".$tableTitles["created"]."</a>";                                                                                                                                                                                                          
     484               0 :             $tableHead["owner"] = "<a href='".$this->createLink(1, array('action' => "sort", 'actionID' => "userID", 'direction' => $newDirection)) ."'>".$tableTitles["owner"]."</a>";                                                                                                                                                                                                                   
     485               0 :             $tableHead["clicks"] = "<a href='".$this->createLink(1, array('action' => "sort", 'actionID' => "counter", 'direction' => $newDirection)) ."'>".$tableTitles["clicks"]."</a>";                                                                                                                                                                                                                
     486                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     487                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     488               0 :         $fileListEntriesHTML = "";                                                                                                                                                                                                                                                                                                                                                                        
     489               0 :         if ($this->files) {                                                                                                                                                                                                                                                                                                                                                                               
     490               0 :             $FILELISTINFO = "";                                                                                                                                                                                                                                                                                                                                                                           
     491               0 :             foreach($this->files as $file) {                                                                                                                                                                                                                                                                                                                                                              
     492                 :                 // ZellenKlasse wechselt bei jeder Zeile                                                                                                                                                                                                                                                                                                                                                  
     493               0 :                 $CELL = ($CELL == $CELL1 ? $CELL2 : $CELL1);                                                                                                                                                                                                                                                                                                                                              
     494               0 :                 $fileListEntriesHTML .= $file->getHTMLString( $statisticView, $CELL );                                                                                                                                                                                                                                                                                                                    
     495               0 :                 if ($action != "sort") $this->fileManager->runAction($file->getID(), $COLS);                                                                                                                                                                                                                                                                                                              
     496               0 :             }                                                                                                                                                                                                                                                                                                                                                                                             
     497                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     498               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                          
     499               0 :             $FILELISTINFO = "<div style='text-align: center'><br/><br/>Keine Dateien vorhanden.<br/><br/></div>";                                                                                                                                                                                                                                                                                         
     500                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     501               0 :         eval ( $templateFileList->getTemplate() );                                                                                                                                                                                                                                                                                                                                                        
     502               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     503                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     504                 :     private function getFolderHTMLOption( $option ) {                                                                                                                                                                                                                                                                                                                                                     
     505               0 :         if ($option == "deleteFolder") {                                                                                                                                                                                                                                                                                                                                                                  
     506               0 :             $template = new Template(PATH_TO_ROOT . "/ressourcen/templates/deletefolder.html");                                                                                                                                                                                                                                                                                                           
     507               0 :             $folderID = $this->fileManager->getActiveFolder();                                                                                                                                                                                                                                                                                                                                            
     508               0 :             $html = "";                                                                                                                                                                                                                                                                                                                                                                                   
     509               0 :             eval ( $template->getTemplate( "html" ) );                                                                                                                                                                                                                                                                                                                                                    
     510               0 :             return $html;                                                                                                                                                                                                                                                                                                                                                                                 
     511                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     512                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     513               0 :         if ( $option == "setFolderVisibility" ) {                                                                                                                                                                                                                                                                                                                                                         
     514                 :             return "<div class='res_file-extra'>"                                                                                                                                                                                                                                                                                                                                                         
     515               0 :                     ."<a href='".$this->createLink(0, array('activeFolder' => $this->fileManager->getActiveFolder(), "action" => "setRessourceVisibility", 'actionID' => $this->fileManager->getActionID(), 'mode' => 1))                                                                                                                                                                                 
     516               0 :                     ."'>Nur Ordner</a>&nbsp;&nbsp;&nbsp;"."<a href='".$this->createLink(0, array('activeFolder' => $this->fileManager->getActiveFolder(), "action" => "setRessourceVisibility", 'actionID' => $this->fileManager->getActionID(), 'mode' => 2)) .""                                                                                                                                        
     517               0 :                     ."'>Inhalt (rekursiv)</a>&nbsp;&nbsp;&nbsp;"."<a href='".$this->createLink(0, array('activeFolder' => $this->fileManager->getActiveFolder(), "action" => "setRessourceVisibility", 'actionID' => $this->fileManager->getActionID(), 'mode' => 3)) .""                                                                                                                                 
     518               0 :                             ."'>Ordner und Inhalt (rekursiv)</a>&nbsp;&nbsp;&nbsp;"."<a href='".$this->createLink(0, array("activeFolder" => $this->fileManager->getActiveFolder())) ."'>Abbrechen</a>"."<span class='res_file-extra'>".Utilities::helpCode(701) ."</span>"."</div>";                                                                                                                     
     519                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     520                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     521               0 :         if ( $option == "setRessourceVisibility" ) {                                                                                                                                                                                                                                                                                                                                                      
     522               0 :             return $this->getRessourceVisibilityHTML();                                                                                                                                                                                                                                                                                                                                                   
     523                 :         }                                                                                                                                                                                                                                                                                                                                                                                                 
     524               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                     
     525                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     526                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                   
     527                 :      * Archiver accept method for ArchiveVisitor                                                                                                                                                                                                                                                                                                                                                          
     528                 :      *                                                                                                                                                                                                                                                                                                                                                                                                    
     529                 :      * @param ArchiveVisitor $visitor Archive visitor                                                                                                                                                                                                                                                                                                                                                     
     530                 :      * @param String $parentPath Parent path                                                                                                                                                                                                                                                                                                                                                              
     531                 :      * @return Sting Parent path                                                                                                                                                                                                                                                                                                                                                                          
     532                 :      */                                                                                                                                                                                                                                                                                                                                                                                                   
     533                 :     public function archiverAccept(ResourceVisitor $visitor, $parentPath = "/") {                                                                                                                                                                                                                                                                                                                         
     534               0 :         assert($visitor instanceof ResourceVisitor);                                                                                                                                                                                                                                                                                                                                                      
     535                 :                                                                                                                                                                                                                                                                                                                                                                                                           
     536               0 :         return $visitor->visit($this, $parentPath);                                                                                                                                                                                                                                                                                                                                                       
     537                 :     }                                                                                                                                                                                                                                                                                                                                                                                                     

Generated by PHPUnit 3.2.21 and Xdebug 2.0.4 at Sat Nov 7 22:04:08 CET 2009.